<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
<meta name="viewport"
      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">

    <meta name="author" content="豆豆">


    <meta name="subtitle" content="愿望是实现睡觉自由">


    <meta name="description" content="你来啦，这里是豆豆的小笔记！">


    <meta name="keywords" content="豆豆,学习,小笔记,睡觉自由">


<title>「Python_04」初阶 | Python简介 | 豆豆的小笔记</title>



    <link rel="icon" href="/favicon.ico">




    <!-- stylesheets list from _config.yml -->
    
    <link rel="stylesheet" href="/css/style.css">
    



    <!-- scripts list from _config.yml -->
    
    <script src="/js/script.js"></script>
    
    <script src="/js/tocbot.min.js"></script>
    



    
    
        
    


<meta name="generator" content="Hexo 4.2.0"></head>
<body>
    <div class="wrapper">
        <header>
    <nav class="navbar">
        <div class="container">
            <div class="navbar-header header-logo"><a href="/">豆豆的小笔记</a></div>
            <div class="menu navbar-right">
                
                    <a class="menu-item" href="/archives">归档</a>
                
                    <a class="menu-item" href="/category">分类</a>
                
                    <a class="menu-item" href="/tag">标签</a>
                
                    <a class="menu-item" href="/about">关于</a>
                
                <input id="switch_default" type="checkbox" class="switch_default">
                <label for="switch_default" class="toggleBtn"></label>
            </div>
        </div>
    </nav>

    
    <nav class="navbar-mobile" id="nav-mobile">
        <div class="container">
            <div class="navbar-header">
                <div>
                    <a href="/">豆豆的小笔记</a><a id="mobile-toggle-theme">·&nbsp;纯白</a>
                </div>
                <div class="menu-toggle" onclick="mobileBtn()">&#9776; 菜单</div>
            </div>
            <div class="menu" id="mobile-menu">
                
                    <a class="menu-item" href="/archives">归档</a>
                
                    <a class="menu-item" href="/category">分类</a>
                
                    <a class="menu-item" href="/tag">标签</a>
                
                    <a class="menu-item" href="/about">关于</a>
                
            </div>
        </div>
    </nav>

</header>
<script>
    var mobileBtn = function f() {
        var toggleMenu = document.getElementsByClassName("menu-toggle")[0];
        var mobileMenu = document.getElementById("mobile-menu");
        if(toggleMenu.classList.contains("active")){
           toggleMenu.classList.remove("active")
            mobileMenu.classList.remove("active")
        }else{
            toggleMenu.classList.add("active")
            mobileMenu.classList.add("active")
        }
    }
</script>
        <div class="main">
            <div class="container">
    
    
        <div class="post-toc">
    <div class="tocbot-list">
    </div>
    <div class="tocbot-list-menu">
        <a class="tocbot-toc-expand" onclick="expand_toc()">展开所有</a>
        <a onclick="go_top()">回到顶部</a>
        <a onclick="go_bottom()">到达底部</a>
    </div>
</div>

<script>
    document.ready(
        function () {
            tocbot.init({
                tocSelector: '.tocbot-list',
                contentSelector: '.post-content',
                headingSelector: 'h1, h2, h3, h4, h5',
                collapseDepth: 1,
                orderedList: false,
                scrollSmooth: true,
            })
        }
    )

    function expand_toc() {
        var b = document.querySelector(".tocbot-toc-expand");
        tocbot.init({
            tocSelector: '.tocbot-list',
            contentSelector: '.post-content',
            headingSelector: 'h1, h2, h3, h4, h5',
            collapseDepth: 6,
            orderedList: false,
            scrollSmooth: true,
        });
        b.setAttribute("onclick", "collapse_toc()");
        b.innerHTML = "收起所有"
    }

    function collapse_toc() {
        var b = document.querySelector(".tocbot-toc-expand");
        tocbot.init({
            tocSelector: '.tocbot-list',
            contentSelector: '.post-content',
            headingSelector: 'h1, h2, h3, h4, h5',
            collapseDepth: 1,
            orderedList: false,
            scrollSmooth: true,
        });
        b.setAttribute("onclick", "expand_toc()");
        b.innerHTML = "展开所有"
    }

    function go_top() {
        window.scrollTo(0, 0);
    }

    function go_bottom() {
        window.scrollTo(0, document.body.scrollHeight);
    }

</script>
    

    
    <article class="post-wrap">
        <header class="post-header">
            <h1 class="post-title">「Python_04」初阶 | Python简介</h1>
            
                <div class="post-meta">
                    

                    
                        <span class="post-time">
                        时间： <a href="#">二月 28, 2020&nbsp;&nbsp;13:50:02</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        </span>
                    
                    
                        <span class="post-category">
                    分类：
                            
                                <a href="/categories/Python/">Python</a>
                            
                        </span>
                    
                </div>
            
        </header>

        <div class="post-content">
            <h1 id="1-认识-Python"><a href="#1-认识-Python" class="headerlink" title="1. 认识 Python"></a>1. 认识 Python</h1><blockquote>
<p>人生苦短，我用 Python —— Life is short, you need Python</p>
</blockquote>
<p><img src="001.jpg" alt=""></p>
<h2 id="目标"><a href="#目标" class="headerlink" title="目标"></a>目标</h2><ul>
<li>Python 的起源</li>
<li>为什么要用 Python？</li>
<li>Python 的特点</li>
<li>Python 的优缺点</li>
</ul>
<h2 id="01-Python-的起源"><a href="#01-Python-的起源" class="headerlink" title="01. Python 的起源"></a>01. Python 的起源</h2><blockquote>
<p>Python 的创始人为吉多·范罗苏姆（Guido van Rossum）</p>
</blockquote>
<p><img src="002.jpg" alt=""></p>
<ol>
<li>1989 年的圣诞节期间，吉多·范罗苏姆为了在阿姆斯特丹打发时间，决心开发一个新的<strong>解释程序</strong>，作为 ABC 语言的一种继承（<strong>感觉下什么叫牛人</strong>）</li>
<li>ABC 是由吉多参加设计的一种教学语言，就吉多本人看来，ABC 这种语言非常优美和强大，是<strong>专门为非专业程序员设计的</strong>。但是 ABC 语言并没有成功，究其原因，吉多认为是<strong>非开放</strong>造成的。吉多决心在 Python 中避免这一错误，并获取了非常好的效果</li>
<li>之所以选中 Python（蟒蛇） 作为程序的名字，是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团（Monty Python’s Flying Circus）的爱好者</li>
<li>1991 年，第一个 Python <strong>解释器</strong> 诞生，它是用 C 语言实现的，并能够调用 C 语言的库文件</li>
</ol>
<h3 id="1-1-解释器（科普）"><a href="#1-1-解释器（科普）" class="headerlink" title="1.1 解释器（科普）"></a>1.1 解释器（科普）</h3><p><strong>计算机不能直接理解任何除机器语言以外的语言</strong>，所以必须要把程序员所写的程序语言翻译成机器语言，计算机才能执行程序。<strong>将其他语言翻译成机器语言的工具，被称为编译器</strong></p>
<p>编译器翻译的方式有两种：一个是<strong>编译</strong>，另外一个是<strong>解释</strong>。两种方式之间的区别在于<strong>翻译时间点的不同</strong>。当编译器<strong>以解释方式运行的时候</strong>，也称之为<strong>解释器</strong></p>
<p><img src="003.png" alt=""></p>
<ul>
<li><strong>编译型语言</strong>：程序在执行之前需要一个专门的编译过程，把程序编译成为机器语言的文件，运行时不需要重新翻译，直接使用编译的结果就行了。程序执行效率高，依赖编译器，跨平台性差些。如 C、C++</li>
<li><strong>解释型语言</strong>：解释型语言编写的程序不进行预先编译，以文本方式存储程序代码，会将代码一句一句直接运行。在发布程序时，看起来省了道编译工序，但是在运行程序的时候，必须先解释再运行</li>
</ul>
<h4 id="编译型语言和解释型语言对比"><a href="#编译型语言和解释型语言对比" class="headerlink" title="编译型语言和解释型语言对比"></a>编译型语言和解释型语言对比</h4><ul>
<li><strong>速度</strong> —— 编译型语言比解释型语言执行速度快</li>
<li><strong>跨平台性</strong> —— 解释型语言比编译型语言跨平台性好</li>
</ul>
<h3 id="1-2-Python-的设计目标"><a href="#1-2-Python-的设计目标" class="headerlink" title="1.2 Python 的设计目标"></a>1.2 Python 的设计目标</h3><p>1999 年，吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请，并在后来说明了他对 Python 的目标：</p>
<ul>
<li>一门<strong>简单直观的语言</strong>并与主要竞争者一样强大</li>
<li><strong>开源</strong>，以便任何人都可以为它做贡献</li>
<li>代码<strong>像纯英语那样容易理解</strong></li>
<li>适用于<strong>短期</strong>开发的日常任务</li>
</ul>
<p>这些想法中的基本都已经成为现实，Python 已经成为一门流行的编程语言</p>
<h3 id="1-3-Python-的设计哲学"><a href="#1-3-Python-的设计哲学" class="headerlink" title="1.3 Python 的设计哲学"></a>1.3 Python 的设计哲学</h3><ol>
<li>优雅</li>
<li>明确</li>
<li>简单</li>
</ol>
<ul>
<li>Python 开发者的哲学是：<strong>用一种方法，最好是只有一种方法来做一件事</strong></li>
<li>如果面临多种选择，Python 开发者一般会拒绝花俏的语法，而选择<strong>明确没有或者很少有歧义的语法</strong></li>
</ul>
<blockquote>
<p>在 Python 社区，吉多被称为“仁慈的独裁者”</p>
</blockquote>
<h2 id="02-为什么选择-Python？"><a href="#02-为什么选择-Python？" class="headerlink" title="02. 为什么选择 Python？"></a>02. 为什么选择 Python？</h2><ul>
<li>代码量少</li>
<li>……</li>
</ul>
<blockquote>
<p>同一样问题，用不同的语言解决，代码量差距还是很多的，一般情况下 <code>Python</code> 是 <code>Java</code> 的 <strong>1/5</strong>，所以说 <strong>人生苦短，我用 Python</strong></p>
</blockquote>
<h2 id="03-Python-特点"><a href="#03-Python-特点" class="headerlink" title="03. Python 特点"></a>03. Python 特点</h2><ul>
<li>Python 是<strong>完全面向对象的语言</strong><ul>
<li><strong>函数</strong>、<strong>模块</strong>、<strong>数字</strong>、<strong>字符串</strong>都是对象，<strong>在 Python 中一切皆对象</strong></li>
<li>完全支持继承、重载、多重继承</li>
<li>支持重载运算符，也支持泛型设计</li>
</ul>
</li>
<li>Python <strong>拥有一个强大的标准库</strong>，Python 语言的核心只包含 <strong>数字</strong>、<strong>字符串</strong>、<strong>列表</strong>、<strong>字典</strong>、<strong>文件</strong> 等常见类型和函数，而由 Python 标准库提供了 <strong>系统管理</strong>、<strong>网络通信</strong>、<strong>文本处理</strong>、<strong>数据库接口</strong>、<strong>图形系统</strong>、<strong>XML 处理</strong> 等额外的功能</li>
<li>Python 社区提供了<strong>大量的第三方模块</strong>，使用方式与标准库类似。它们的功能覆盖 <strong>科学计算</strong>、<strong>人工智能</strong>、<strong>机器学习</strong>、<strong>Web 开发</strong>、<strong>数据库接口</strong>、<strong>图形系统</strong> 多个领域</li>
</ul>
<h3 id="面向对象的思维方式"><a href="#面向对象的思维方式" class="headerlink" title="面向对象的思维方式"></a>面向对象的思维方式</h3><ul>
<li><strong>面向对象</strong> 是一种 <strong>思维方式</strong>，也是一门 <strong>程序设计技术</strong></li>
<li>要解决一个问题前，首先考虑 <strong>由谁</strong> 来做，怎么做事情是 <strong>谁</strong> 的职责，最后把事情做好就行！<ul>
<li><strong>对象</strong> 就是 <strong>谁</strong></li>
</ul>
</li>
<li>要解决复杂的问题，就可以找<strong>多个不同的对象</strong>，<strong>各司其职</strong>，共同实现，最终完成需求</li>
</ul>
<h2 id="04-Python-的优缺点"><a href="#04-Python-的优缺点" class="headerlink" title="04. Python 的优缺点"></a>04. Python 的优缺点</h2><h3 id="4-1-优点"><a href="#4-1-优点" class="headerlink" title="4.1 优点"></a>4.1 优点</h3><ul>
<li>简单、易学</li>
<li>免费、开源</li>
<li><strong>面向对象</strong></li>
<li>丰富的库</li>
<li>可扩展性<ul>
<li>如果需要一段关键代码运行得更快或者希望某些算法不公开，可以把这部分程序用 <code>C</code> 或 <code>C++</code> 编写，然后在 <code>Python</code> 程序中使用它们</li>
</ul>
</li>
<li>……</li>
</ul>
<h3 id="4-2-缺点"><a href="#4-2-缺点" class="headerlink" title="4.2 缺点"></a>4.2 缺点</h3><ul>
<li>运行速度</li>
<li>国内市场较小</li>
<li>中文资料匮乏</li>
</ul>
<h1 id="2-第一个-Python-程序"><a href="#2-第一个-Python-程序" class="headerlink" title="2. 第一个 Python 程序"></a>2. 第一个 Python 程序</h1><h2 id="目标-1"><a href="#目标-1" class="headerlink" title="目标"></a>目标</h2><ul>
<li>第一个 <code>HelloPython</code> 程序</li>
<li><code>Python 2.x</code> 与 <code>3.x</code> 版本简介</li>
<li>执行 <code>Python</code> 程序的三种方式<ul>
<li>解释器 —— <code>python</code> / <code>python3</code></li>
<li>交互式 —— <code>ipython</code></li>
<li>集成开发环境 —— <code>PyCharm</code></li>
</ul>
</li>
</ul>
<h2 id="01-第一个-HelloPython-程序"><a href="#01-第一个-HelloPython-程序" class="headerlink" title="01. 第一个 HelloPython 程序"></a>01. 第一个 <code>HelloPython</code> 程序</h2><h3 id="1-1-Python-源程序的基本概念"><a href="#1-1-Python-源程序的基本概念" class="headerlink" title="1.1 Python 源程序的基本概念"></a>1.1 Python 源程序的基本概念</h3><ol>
<li>Python 源程序就是<strong>一个特殊格式的文本文件</strong>，可以<strong>使用任意文本编辑软件</strong>做 <code>Python</code> 的开发</li>
<li>Python 程序的 <strong>文件扩展名</strong> 通常都是 <code>.py</code></li>
</ol>
<h3 id="1-2-演练步骤"><a href="#1-2-演练步骤" class="headerlink" title="1.2 演练步骤"></a>1.2 演练步骤</h3><ul>
<li>在桌面下，新建 <code>认识Python</code> 目录</li>
<li>在 <code>认识Python</code> 目录下新建 <code>01-HelloPython.py</code> 文件</li>
<li>使用 <strong>gedit</strong> 编辑 <code>01-HelloPython.py</code> 并且输入以下内容：</li>
</ul>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">print(<span class="string">"hello python"</span>)</span><br><span class="line">print(<span class="string">"hello world"</span>)</span><br></pre></td></tr></table></figure>

<ul>
<li>在终端中输入以下命令执行 <code>01-HelloPython.py</code></li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ python 01-HelloPython.py</span><br></pre></td></tr></table></figure>

<blockquote>
<p><code>print</code> 是 <code>python</code> 中我们学习的第一个 <strong>函数</strong></p>
<p><code>print</code> 函数的作用，可以把 <strong>“”</strong> 内部的内容，输出到屏幕上</p>
</blockquote>
<h3 id="1-3-演练扩展-——-认识错误（BUG）"><a href="#1-3-演练扩展-——-认识错误（BUG）" class="headerlink" title="1.3 演练扩展 —— 认识错误（BUG）"></a>1.3 演练扩展 —— 认识错误（BUG）</h3><h4 id="关于错误"><a href="#关于错误" class="headerlink" title="关于错误"></a>关于错误</h4><ul>
<li>编写的程序<strong>不能正常执行</strong>，或者<strong>执行的结果不是我们期望的</strong></li>
<li>俗称 <code>BUG</code>，是程序员在开发时非常常见的，初学者常见错误的原因包括：<ol>
<li>手误</li>
<li>对已经学习过的知识理解还存在不足</li>
<li>对语言还有需要学习和提升的内容</li>
</ol>
</li>
<li>在学习语言时，不仅要<strong>学会语言的语法</strong>，而且还要<strong>学会如何认识错误和解决错误的方法</strong></li>
</ul>
<blockquote>
<p>每一个程序员都是在不断地修改错误中成长的</p>
</blockquote>
<h4 id="第一个演练中的常见错误"><a href="#第一个演练中的常见错误" class="headerlink" title="第一个演练中的常见错误"></a>第一个演练中的常见错误</h4><ul>
<li>1&gt; <strong>手误</strong>，例如使用 <code>pirnt(&quot;Hello world&quot;)</code> </li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">NameError: name &#39;pirnt&#39; is not defined</span><br><span class="line"></span><br><span class="line">名称错误：&#39;pirnt&#39; 名字没有定义</span><br></pre></td></tr></table></figure>

<ul>
<li>2&gt; 将多条 <code>print</code> 写在一行</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">SyntaxError: invalid syntax</span><br><span class="line"></span><br><span class="line">语法错误：语法无效</span><br></pre></td></tr></table></figure>

<blockquote>
<p>每行代码负责完成一个动作</p>
</blockquote>
<ul>
<li>3&gt; 缩进错误</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">IndentationError: unexpected indent</span><br><span class="line"></span><br><span class="line">缩进错误：不期望出现的缩进</span><br></pre></td></tr></table></figure>

<blockquote>
<ul>
<li>Python 是一个格式非常严格的程序设计语言</li>
<li>目前而言，大家记住每行代码前面都不要增加空格</li>
</ul>
</blockquote>
<ul>
<li>4&gt; <strong>python 2.x 默认不支持中文</strong> </li>
</ul>
<p>目前市场上有两个 Python 的版本并存着，分别是 <code>Python 2.x</code> 和 <code>Python 3.x</code></p>
<ul>
<li><strong>Python 2.x 默认不支持中文</strong>，具体原因，等到介绍 <strong>字符编码</strong> 时给大家讲解</li>
<li>Python 2.x 的解释器名称是 <strong>python</strong></li>
<li>Python 3.x 的解释器名称是 <strong>python3</strong></li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">SyntaxError: Non-ASCII character &#39;\xe4&#39; in file 01-HelloPython.py on line 3, </span><br><span class="line">but no encoding declared; </span><br><span class="line">see http:&#x2F;&#x2F;python.org&#x2F;dev&#x2F;peps&#x2F;pep-0263&#x2F; for details</span><br><span class="line"></span><br><span class="line">语法错误： 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 &#39;\xe4&#39;，但是没有声明文件编码</span><br><span class="line">请访问 http:&#x2F;&#x2F;python.org&#x2F;dev&#x2F;peps&#x2F;pep-0263&#x2F; 了解详细信息</span><br></pre></td></tr></table></figure>

<blockquote>
<ul>
<li><code>ASCII</code> 字符只包含 <code>256</code> 个字符，不支持中文</li>
<li>有关字符编码的问题，后续会讲</li>
</ul>
</blockquote>
<h4 id="单词列表"><a href="#单词列表" class="headerlink" title="单词列表"></a>单词列表</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">* error 错误</span><br><span class="line">* name 名字</span><br><span class="line">* defined 已经定义</span><br><span class="line">* syntax 语法</span><br><span class="line">* invalid 无效</span><br><span class="line">* Indentation 索引</span><br><span class="line">* unexpected 意外的，不期望的</span><br><span class="line">* character 字符</span><br><span class="line">* line 行</span><br><span class="line">* encoding 编码</span><br><span class="line">* declared 声明</span><br><span class="line">* details 细节，详细信息</span><br><span class="line">* ASCII 一种字符编码</span><br></pre></td></tr></table></figure>

<h2 id="02-Python-2-x-与-3-x-版本简介"><a href="#02-Python-2-x-与-3-x-版本简介" class="headerlink" title="02. Python 2.x 与 3.x 版本简介"></a>02. <code>Python 2.x</code> 与 <code>3.x</code> 版本简介</h2><p>目前市场上有两个 Python 的版本并存着，分别是 <code>Python 2.x</code> 和 <code>Python 3.x</code></p>
<blockquote>
<p>新的 Python 程序建议使用 <code>Python 3.0</code> 版本的语法</p>
</blockquote>
<ul>
<li>Python 2.x 是 <strong>过去的版本</strong><ul>
<li>解释器名称是 <strong>python</strong></li>
</ul>
</li>
<li>Python 3.x 是 <strong>现在和未来 主流的版本</strong><ul>
<li>解释器名称是 <strong>python3</strong></li>
<li>相对于 <code>Python</code> 的早期版本，这是一个 <strong>较大的升级</strong></li>
<li>为了不带入过多的累赘，<code>Python 3.0</code> 在设计的时候 <strong>没有考虑向下兼容</strong><ul>
<li>许多早期 <code>Python</code> 版本设计的程序都无法在 <code>Python 3.0</code> 上正常执行</li>
</ul>
</li>
<li>Python 3.0 发布于 <strong>2008 年</strong></li>
<li>到目前为止，Python 3.0 的稳定版本已经有很多年了<ul>
<li>Python 3.3 发布于 2012</li>
<li>Python 3.4 发布于 2014</li>
<li>Python 3.5 发布于 2015</li>
<li>Python 3.6 发布于 2016</li>
</ul>
</li>
</ul>
</li>
<li>为了照顾现有的程序，官方提供了一个过渡版本 —— <strong>Python 2.6</strong><ul>
<li>基本使用了 <code>Python 2.x</code> 的语法和库</li>
<li>同时考虑了向 <code>Python 3.0</code> 的迁移，<strong>允许使用部分</strong> <code>Python 3.0</code> 的语法与函数</li>
<li>2010 年中推出的 <code>Python 2.7</code> 被确定为 <strong>最后一个Python 2.x 版本</strong></li>
</ul>
</li>
</ul>
<blockquote>
<p>提示：如果开发时，无法立即使用 Python 3.0（还有极少的第三方库不支持 3.0 的语法），建议</p>
<ul>
<li>先使用 <code>Python 3.0</code> 版本进行开发</li>
<li>然后使用 <code>Python 2.6</code>、<code>Python 2.7</code> 来执行，并且做一些兼容性的处理</li>
</ul>
</blockquote>
<h2 id="03-执行-Python-程序的三种方式"><a href="#03-执行-Python-程序的三种方式" class="headerlink" title="03. 执行 Python 程序的三种方式"></a>03. 执行 Python 程序的三种方式</h2><h3 id="3-1-解释器-python-python3"><a href="#3-1-解释器-python-python3" class="headerlink" title="3.1. 解释器 python / python3"></a>3.1. 解释器 <code>python</code> / <code>python3</code></h3><h4 id="Python-的解释器"><a href="#Python-的解释器" class="headerlink" title="Python 的解释器"></a>Python 的解释器</h4><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 使用 python 2.x 解释器</span></span><br><span class="line">$ python xxx.py</span><br><span class="line"></span><br><span class="line"><span class="comment"># 使用 python 3.x 解释器</span></span><br><span class="line">$ python3 xxx.py</span><br></pre></td></tr></table></figure>

<h5 id="其他解释器（知道）"><a href="#其他解释器（知道）" class="headerlink" title="其他解释器（知道）"></a>其他解释器（知道）</h5><p><strong>Python 的解释器</strong> 如今有多个语言的实现，包括：</p>
<ul>
<li><code>CPython</code> —— 官方版本的 C 语言实现</li>
<li><code>Jython</code> —— 可以运行在 Java 平台</li>
<li><code>IronPython</code> —— 可以运行在 .NET 和 Mono 平台</li>
<li><code>PyPy</code> —— Python 实现的，支持 JIT 即时编译</li>
</ul>
<h3 id="3-2-交互式运行-Python-程序"><a href="#3-2-交互式运行-Python-程序" class="headerlink" title="3.2. 交互式运行 Python 程序"></a>3.2. 交互式运行 Python 程序</h3><ul>
<li>直接在终端中运行解释器，而不输入要执行的文件名</li>
<li>在 Python 的 <code>Shell</code> 中直接输入 <strong>Python 的代码</strong>，会立即看到程序执行结果</li>
</ul>
<h4 id="1-交互式运行-Python-的优缺点"><a href="#1-交互式运行-Python-的优缺点" class="headerlink" title="1) 交互式运行 Python 的优缺点"></a>1) 交互式运行 Python 的优缺点</h4><h5 id="优点"><a href="#优点" class="headerlink" title="优点"></a>优点</h5><ul>
<li>适合于学习/验证 Python 语法或者局部代码</li>
</ul>
<h5 id="缺点"><a href="#缺点" class="headerlink" title="缺点"></a>缺点</h5><ul>
<li>代码不能保存</li>
<li>不适合运行太大的程序</li>
</ul>
<h4 id="2-退出-官方的解释器"><a href="#2-退出-官方的解释器" class="headerlink" title="2) 退出 官方的解释器"></a>2) 退出 官方的解释器</h4><h5 id="1-gt-直接输入-exit"><a href="#1-gt-直接输入-exit" class="headerlink" title="1&gt; 直接输入 exit()"></a>1&gt; 直接输入 <code>exit()</code></h5><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">&gt;&gt;&gt; </span>exit()</span><br></pre></td></tr></table></figure>

<h5 id="2-gt-使用热键退出"><a href="#2-gt-使用热键退出" class="headerlink" title="2&gt; 使用热键退出"></a>2&gt; 使用热键退出</h5><p>在 python 解释器中，按热键 <code>ctrl + d</code> 可以退出解释器</p>
<p><img src="004.jpg" alt=""></p>
<h4 id="3-IPython"><a href="#3-IPython" class="headerlink" title="3) IPython"></a>3) IPython</h4><ul>
<li>IPython 中 的 “I” 代表 <strong>交互 interactive</strong></li>
</ul>
<h5 id="特点"><a href="#特点" class="headerlink" title="特点"></a>特点</h5><ul>
<li>IPython 是一个 python 的 <strong>交互式 shell</strong>，比默认的 <code>python shell</code> 好用得多<ul>
<li>支持自动补全</li>
<li>自动缩进</li>
<li>支持 <code>bash shell</code> 命令</li>
<li>内置了许多很有用的功能和函数</li>
</ul>
</li>
<li>IPython 是基于 BSD 开源的</li>
</ul>
<h5 id="版本"><a href="#版本" class="headerlink" title="版本"></a>版本</h5><ul>
<li><p>Python 2.x 使用的解释器是 <strong>ipython</strong></p>
</li>
<li><p>Python 3.x 使用的解释器是 <strong>ipython3</strong></p>
</li>
<li><p>要退出解释器可以有以下两种方式：</p>
</li>
</ul>
<h5 id="1-gt-直接输入-exit-1"><a href="#1-gt-直接输入-exit-1" class="headerlink" title="1&gt; 直接输入 exit"></a>1&gt; 直接输入 <code>exit</code></h5><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">In [<span class="number">1</span>]: exit</span><br></pre></td></tr></table></figure>

<h5 id="2-gt-使用热键退出-1"><a href="#2-gt-使用热键退出-1" class="headerlink" title="2&gt; 使用热键退出"></a>2&gt; 使用热键退出</h5><p>在 IPython 解释器中，按热键 <code>ctrl + d</code>，<code>IPython</code> 会询问是否退出解释器</p>
<h4 id="IPython-的安装"><a href="#IPython-的安装" class="headerlink" title="IPython 的安装"></a>IPython 的安装</h4><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ sudo apt install ipython</span><br></pre></td></tr></table></figure>

<h2 id="3-3-Python-的-IDE-——-PyCharm"><a href="#3-3-Python-的-IDE-——-PyCharm" class="headerlink" title="3.3. Python 的 IDE —— PyCharm"></a>3.3. Python 的 IDE —— <code>PyCharm</code></h2><h3 id="1）-集成开发环境（IDE）"><a href="#1）-集成开发环境（IDE）" class="headerlink" title="1） 集成开发环境（IDE）"></a>1） 集成开发环境（IDE）</h3><p>集成开发环境（<code>IDE</code>，Integrated Development Environment）—— <strong>集成了开发软件需要的所有工具</strong>，一般包括以下工具：</p>
<ul>
<li>图形用户界面</li>
<li>代码编辑器（支持 <strong>代码补全</strong>／<strong>自动缩进</strong>）</li>
<li>编译器／解释器</li>
<li>调试器（<strong>断点</strong>／<strong>单步执行</strong>）</li>
<li>……</li>
</ul>
<h3 id="2）PyCharm-介绍"><a href="#2）PyCharm-介绍" class="headerlink" title="2）PyCharm 介绍"></a>2）PyCharm 介绍</h3><ul>
<li><code>PyCharm</code> 是 Python 的一款非常优秀的集成开发环境</li>
<li><code>PyCharm</code> 除了具有一般 IDE 所必备功能外，还可以在 <code>Windows</code>、<code>Linux</code>、<code>macOS</code> 下使用</li>
<li><code>PyCharm</code> 适合开发大型项目<ul>
<li>一个项目通常会包含 <strong>很多源文件</strong></li>
<li>每个 <strong>源文件</strong> 的代码行数是有限的，通常在几百行之内</li>
<li>每个 <strong>源文件</strong> 各司其职，共同完成复杂的业务功能</li>
</ul>
</li>
</ul>
<h3 id="3）PyCharm-快速体验"><a href="#3）PyCharm-快速体验" class="headerlink" title="3）PyCharm 快速体验"></a>3）PyCharm 快速体验</h3><p><img src="005.png" alt=""></p>
<ul>
<li><strong>文件导航区域</strong> 能够 <strong>浏览</strong>／<strong>定位</strong>／<strong>打开</strong> 项目文件</li>
<li><strong>文件编辑区域</strong> 能够 <strong>编辑</strong> 当前打开的文件</li>
<li><strong>控制台区域</strong> 能够：<ul>
<li>输出程序执行内容</li>
<li>跟踪调试代码的执行</li>
</ul>
</li>
<li>右上角的 <strong>工具栏</strong> 能够 <strong>执行(SHIFT + F10)</strong> / <strong>调试(SHIFT + F9)</strong> 代码</li>
</ul>
<p><img src="006.png" alt=""></p>
<ul>
<li>通过控制台上方的<strong>单步执行按钮(F8)</strong>，可以单步执行代码</li>
</ul>
<p><img src="007.png" alt=""></p>
<h1 id="3-PyCharm-的初始设置"><a href="#3-PyCharm-的初始设置" class="headerlink" title="3. PyCharm 的初始设置"></a>3. PyCharm 的初始设置</h1><h2 id="目标-2"><a href="#目标-2" class="headerlink" title="目标"></a>目标</h2><ul>
<li>恢复 PyCharm 的初始设置</li>
<li>第一次启动 PyCharm</li>
<li>新建一个 Python 项目</li>
<li>设置 PyCharm 的字体显示</li>
<li>PyCharm 的升级以及其他</li>
</ul>
<p>PyCharm 的官方网站地址是：<a href="https://www.jetbrains.com/pycharm/" target="_blank" rel="noopener">https://www.jetbrains.com/pycharm/</a></p>
<h2 id="01-恢复-PyCharm-的初始设置"><a href="#01-恢复-PyCharm-的初始设置" class="headerlink" title="01. 恢复 PyCharm 的初始设置"></a>01. 恢复 PyCharm 的初始设置</h2><p><code>PyCharm</code> 的 <strong>配置信息</strong> 是保存在 <strong>用户家目录下</strong> 的 <code>.PyCharmxxxx.x</code> 目录下的，<code>xxxx.x</code> 表示当前使用的 <code>PyCharm</code> 的版本号</p>
<p>如果要恢复 <code>PyCharm</code> 的初始设置，可以按照以下步骤进行：</p>
<ul>
<li><ol>
<li>关闭正在运行的 <code>PyCharm</code></li>
</ol>
</li>
<li><ol start="2">
<li>在终端中执行以下终端命令，删除 <code>PyCharm</code> 的配置信息目录：</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ rm -r ~/.PyCharm2016.3</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="3">
<li>重新启动 <code>PyCharm</code></li>
</ol>
</li>
</ul>
<h2 id="02-第一次启动-PyCharm"><a href="#02-第一次启动-PyCharm" class="headerlink" title="02. 第一次启动 PyCharm"></a>02. 第一次启动 PyCharm</h2><ol>
<li>导入配置信息</li>
<li>选择许可协议</li>
<li>配置初始界面</li>
</ol>
<h3 id="2-1-导入配置信息"><a href="#2-1-导入配置信息" class="headerlink" title="2.1 导入配置信息"></a>2.1 导入配置信息</h3><ul>
<li>在第一次启动 <code>PyCharm</code> 时，会首先提示用户是否导入 <strong>之前的配置信息</strong></li>
<li>如果是第一次使用，直接点击 <strong>OK</strong> 按钮</li>
</ul>
<p><img src="008.png" alt=""></p>
<h3 id="2-2-选择许可协议"><a href="#2-2-选择许可协议" class="headerlink" title="2.2 选择许可协议"></a>2.2 选择许可协议</h3><ul>
<li>PyCharm 是一个付费软件，购买费用为 <strong>199$ / 年</strong> 或者 <strong>19.90$ ／ 月</strong></li>
<li>不过 PyCharm 提供了对 <strong>学生和教师免费使用的版本</strong><ul>
<li>下载地址是：<a href="https://www.jetbrains.com/pycharm-edu/download/#section=linux" target="_blank" rel="noopener">https://www.jetbrains.com/pycharm-edu/download/#section=linux</a></li>
</ul>
</li>
<li>商业版本会提示输入注册信息，或者选择免费评估</li>
</ul>
<p><img src="009.png" alt=""></p>
<h3 id="2-3-PyCharm-的配置初始界面"><a href="#2-3-PyCharm-的配置初始界面" class="headerlink" title="2.3 PyCharm 的配置初始界面"></a>2.3 PyCharm 的配置初始界面</h3><ul>
<li>在初始配置界面，可以通过 <code>Editor colors and fonts</code> 选择 <strong>编辑器的配色方案</strong></li>
</ul>
<p><img src="010.png" alt=""></p>
<h3 id="2-4-欢迎界面"><a href="#2-4-欢迎界面" class="headerlink" title="2.4 欢迎界面"></a>2.4 欢迎界面</h3><ul>
<li>所有基础配置工作结束之后，就可以看到 <code>PyCharm</code> 的 <strong>欢迎界面</strong>了，通过 <strong>欢迎界面</strong> 就可以开始开发 Python 项目了</li>
</ul>
<p><img src="011.png" alt=""></p>
<h2 id="03-新建-打开一个-Python-项目"><a href="#03-新建-打开一个-Python-项目" class="headerlink" title="03. 新建/打开一个 Python 项目"></a>03. 新建/打开一个 Python 项目</h2><h3 id="3-1-项目简介"><a href="#3-1-项目简介" class="headerlink" title="3.1 项目简介"></a>3.1 项目简介</h3><ul>
<li>开发 <strong>项目</strong> 就是开发一个 <strong>专门解决一个复杂业务功能的软件</strong></li>
<li>通常每 <strong>一个项目</strong> 就具有一个 <strong>独立专属的目录</strong>，用于保存 <strong>所有和项目相关的文件</strong><ul>
<li>一个项目通常会包含 <strong>很多源文件</strong></li>
</ul>
</li>
</ul>
<h3 id="3-2-打开-Python-项目"><a href="#3-2-打开-Python-项目" class="headerlink" title="3.2 打开 Python 项目"></a>3.2 打开 Python 项目</h3><ul>
<li>直接点击 <strong>Open</strong> 按钮，然后浏览到之前保存 <strong>Python 文件的目录</strong>，既可以打开项目</li>
<li>打开之后，会在目录下新建一个 <code>.idea</code> 的目录，用于保存 <strong>项目相关的信息</strong>，例如：<strong>解释器版本</strong>、<strong>项目包含的文件</strong>等等</li>
<li>第一次打开项目，需要耐心等待 <code>PyCharm</code> 对项目<strong>进行初始设置</strong></li>
</ul>
<p><img src="012.png" alt=""></p>
<h4 id="设置项目使用的解释器版本"><a href="#设置项目使用的解释器版本" class="headerlink" title="设置项目使用的解释器版本"></a>设置项目使用的解释器版本</h4><ul>
<li>打开的目录如果不是由 <code>PyCharm</code> 建立的项目目录，<strong>有的时候</strong> 使用的解释器版本是 <code>Python 2.x</code> 的，需要<strong>单独设置解释器的版本</strong></li>
<li>通过 <strong>File</strong> / <strong>Settings…</strong> 可以打开设置窗口，如下图所示：</li>
</ul>
<p><img src="013.png" alt=""></p>
<h3 id="3-3-新建项目"><a href="#3-3-新建项目" class="headerlink" title="3.3 新建项目"></a>3.3 新建项目</h3><h4 id="1-命名规则"><a href="#1-命名规则" class="headerlink" title="1) 命名规则"></a>1) 命名规则</h4><ul>
<li><p>以后 <strong>项目名</strong> 前面都以 <strong>数字编号</strong>，<strong>随着知识点递增，编号递增</strong></p>
<ul>
<li>例如：<strong>01_Python 基础</strong>、<strong>02_分支</strong>、<strong>03_循环</strong>…</li>
</ul>
</li>
<li><p>每个项目下的 <strong>文件名</strong> 都以 <code>hm_xx_知识点</code> 方式来命名</p>
<ul>
<li>其中 <strong>xx</strong> 是演练文件的序号</li>
</ul>
</li>
<li><p>注意</p>
<ul>
<li><ol>
<li>命名文件名时建议只使用 <strong>小写字母</strong>、<strong>数字</strong> 和 <strong>下划线</strong></li>
</ol>
</li>
<li><ol start="2">
<li><strong>文件名不能以数字开始</strong></li>
</ol>
</li>
</ul>
</li>
<li><p>通过 <strong>欢迎界面</strong> 或者菜单 <strong>File</strong> / <strong>New Project</strong> 可以新建项目</p>
</li>
</ul>
<h4 id="2-演练步骤"><a href="#2-演练步骤" class="headerlink" title="2) 演练步骤"></a>2) 演练步骤</h4><ul>
<li>新建 <code>01_Python基础</code> 项目，使用 <strong>Python 3.x 解释器</strong></li>
<li>在项目下新建 <code>hm_01_hello.py</code> Python 文件</li>
<li>编写 <code>print(&quot;Hello Python&quot;)</code> 代码</li>
</ul>
<h2 id="04-设置-PyCharm-的字体显示"><a href="#04-设置-PyCharm-的字体显示" class="headerlink" title="04. 设置 PyCharm 的字体显示"></a>04. 设置 PyCharm 的字体显示</h2><p><img src="014.png" alt=""></p>
<p><img src="015.png" alt=""></p>
<h2 id="05-PyCharm-的升级以及其他"><a href="#05-PyCharm-的升级以及其他" class="headerlink" title="05. PyCharm 的升级以及其他"></a>05. PyCharm 的升级以及其他</h2><blockquote>
<p>PyCharm 提供了对 <strong>学生和教师免费使用的版本</strong></p>
</blockquote>
<ul>
<li>教育版下载地址：<a href="https://www.jetbrains.com/pycharm-edu/download/#section=linux" target="_blank" rel="noopener">https://www.jetbrains.com/pycharm-edu/download/#section=linux</a></li>
<li>专业版下载地址：<a href="https://www.jetbrains.com/pycharm/download/#section=linux" target="_blank" rel="noopener">https://www.jetbrains.com/pycharm/download/#section=linux</a></li>
</ul>
<h3 id="5-1-安装和启动步骤"><a href="#5-1-安装和启动步骤" class="headerlink" title="5.1 安装和启动步骤"></a>5.1 安装和启动步骤</h3><ul>
<li><ol>
<li>执行以下终端命令，解压缩下载后的安装包</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ tar -zxvf pycharm-professional-2017.1.3.tar.gz</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="2">
<li>将解压缩后的目录移动到 <code>/opt</code> 目录下，可以方便其他用户使用</li>
</ol>
</li>
</ul>
<blockquote>
<p><code>/opt</code> 目录用户存放给主机额外安装的软件</p>
</blockquote>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ sudo mv pycharm-2017.1.3/ /opt/</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="3">
<li>切换工作目录</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ <span class="built_in">cd</span> /opt/pycharm-2017.1.3/bin</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="4">
<li>启动 <code>PyCharm</code></li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ ./pycharm.sh</span><br></pre></td></tr></table></figure>

<h3 id="5-2-设置专业版启动图标"><a href="#5-2-设置专业版启动图标" class="headerlink" title="5.2 设置专业版启动图标"></a>5.2 设置专业版启动图标</h3><ul>
<li>在<strong>专业版</strong>中，选择菜单 <strong>Tools</strong> / <strong>Create Desktop Entry…</strong> 可以设置任务栏启动图标<ul>
<li>注意：设置图标时，需要勾选 <code>Create the entry for all users</code></li>
</ul>
</li>
</ul>
<p><img src="016.png" alt=""></p>
<h3 id="5-3-卸载之前版本的-PyCharm"><a href="#5-3-卸载之前版本的-PyCharm" class="headerlink" title="5.3 卸载之前版本的 PyCharm"></a>5.3 卸载之前版本的 PyCharm</h3><h4 id="1-程序安装"><a href="#1-程序安装" class="headerlink" title="1) 程序安装"></a>1) 程序安装</h4><ul>
<li><ol>
<li><strong>程序文件目录</strong> <ul>
<li>将安装包解压缩，并且移动到 <code>/opt</code> 目录下</li>
<li><strong>所有的相关文件都保存在解压缩的目录中</strong></li>
</ul>
</li>
</ol>
</li>
<li><ol start="2">
<li><strong>配置文件目录</strong><ul>
<li>启动 <code>PyCharm</code> 后，会在用户家目录下建立一个 <code>.PyCharmxxx</code> 的隐藏目录</li>
<li><strong>保存 <code>PyCharm</code> 相关的配置信息</strong></li>
</ul>
</li>
</ol>
</li>
<li><ol start="3">
<li><p><strong>快捷方式文件</strong></p>
<ul>
<li><code>/usr/share/applications/jetbrains-pycharm.desktop</code> </li>
</ul>
</li>
</ol>
</li>
</ul>
<blockquote>
<p>在 <code>ubuntu</code> 中，应用程序启动的快捷方式通常都保存在 <code>/usr/share/applications</code> 目录下</p>
</blockquote>
<h4 id="2-程序卸载"><a href="#2-程序卸载" class="headerlink" title="2) 程序卸载"></a>2) 程序卸载</h4><ul>
<li><p>要卸载 <code>PyCharm</code> 只需要做以下两步工作：</p>
</li>
<li><ol>
<li>删除解压缩目录</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ sudo rm -r /opt/pycharm-2016.3.1/</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="2">
<li>删除家目录下用于保存配置信息的隐藏目录</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ rm -r ~/.PyCharm2016.3/</span><br></pre></td></tr></table></figure>

<blockquote>
<p>如果不再使用 PyCharm 还需要将 <code>/usr/share/applications/</code> 下的 <code>jetbrains-pycharm.desktop</code> 删掉</p>
</blockquote>
<h3 id="5-4-教育版安装演练"><a href="#5-4-教育版安装演练" class="headerlink" title="5.4 教育版安装演练"></a>5.4 教育版安装演练</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 1. 解压缩下载后的安装包</span></span><br><span class="line">$ tar -zxvf pycharm-edu-3.5.1.tar.gz</span><br><span class="line"></span><br><span class="line"><span class="comment"># 2. 将解压缩后的目录移动到 `/opt` 目录下，可以方便其他用户使用</span></span><br><span class="line">$ sudo mv pycharm-edu-3.5.1/ /opt/</span><br><span class="line"></span><br><span class="line"><span class="comment"># 3. 启动 `PyCharm`</span></span><br><span class="line">/opt/pycharm-edu-3.5.1/bin/pycharm.sh</span><br></pre></td></tr></table></figure>

<blockquote>
<p>后续课程<strong>都使用专业版本演练</strong></p>
</blockquote>
<h4 id="设置启动图标"><a href="#设置启动图标" class="headerlink" title="设置启动图标"></a>设置启动图标</h4><ul>
<li><ol>
<li>编辑快捷方式文件</li>
</ol>
</li>
</ul>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ sudo gedit /usr/share/applications/jetbrains-pycharm.desktop</span><br></pre></td></tr></table></figure>

<ul>
<li><ol start="3">
<li>按照以下内容修改文件内容，需要注意<strong>指定正确的 <code>pycharm</code> 目录</strong></li>
</ol>
</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">[Desktop Entry]</span><br><span class="line">Version&#x3D;1.0</span><br><span class="line">Type&#x3D;Application</span><br><span class="line">Name&#x3D;PyCharm</span><br><span class="line">Icon&#x3D;&#x2F;opt&#x2F;pycharm-edu-3.5.1&#x2F;bin&#x2F;pycharm.png</span><br><span class="line">Exec&#x3D;&quot;&#x2F;opt&#x2F;pycharm-edu-3.5.1&#x2F;bin&#x2F;pycharm.sh&quot; %f</span><br><span class="line">Comment&#x3D;The Drive to Develop</span><br><span class="line">Categories&#x3D;Development;IDE;</span><br><span class="line">Terminal&#x3D;false</span><br><span class="line">StartupWMClass&#x3D;jetbrains-pycharm</span><br></pre></td></tr></table></figure>

<h1 id="4-多文件项目的演练"><a href="#4-多文件项目的演练" class="headerlink" title="4. 多文件项目的演练"></a>4. 多文件项目的演练</h1><ul>
<li>开发 <strong>项目</strong> 就是开发一个 <strong>专门解决一个复杂业务功能的软件</strong></li>
<li>通常每 <strong>一个项目</strong> 就具有一个 <strong>独立专属的目录</strong>，用于保存 <strong>所有和项目相关的文件</strong><ul>
<li>一个项目通常会包含 <strong>很多源文件</strong></li>
</ul>
</li>
</ul>
<h2 id="目标-3"><a href="#目标-3" class="headerlink" title="目标"></a>目标</h2><ul>
<li>在项目中添加多个文件，并且设置文件的执行</li>
</ul>
<h2 id="多文件项目演练"><a href="#多文件项目演练" class="headerlink" title="多文件项目演练"></a>多文件项目演练</h2><ol>
<li>在 <code>01_Python基础</code> 项目中新建一个 <code>hm_02_第2个Python程序.py</code> </li>
<li>在 <code>hm_02_第2个Python程序.py</code> 文件中添加一句 <code>print(&quot;hello&quot;)</code></li>
<li><strong>点击右键执行</strong> <code>hm_02_第2个Python程序.py</code></li>
</ol>
<p><img src="017.png" alt=""></p>
<h3 id="提示"><a href="#提示" class="headerlink" title="提示"></a>提示</h3><ul>
<li>在 <code>PyCharm</code> 中，要想让哪一个 <code>Python</code> 程序能够执行，必须首先通过 <strong>鼠标右键的方式执行</strong> 一下</li>
<li>对于初学者而言，在一个项目中设置多个程序可以执行，是非常方便的，可以方便对不同知识点的练习和测试</li>
<li>对于商业项目而言，通常在一个项目中，只有一个 <strong>可以直接执行的 Python 源程序</strong></li>
</ul>

        </div>

        
        <section class="post-tags">
            <div>
                <span>标签：</span>
                <span class="tag">
                    
                    
                        <a href="/tags/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/"># 编程语言</a>&nbsp;&nbsp;
                    
                        <a href="/tags/Python/"># Python</a>&nbsp;&nbsp;
                    
                        <a href="/tags/%E7%AC%AC%E4%B8%80%E9%83%A8%E5%88%86/"># 第一部分</a>&nbsp;&nbsp;
                    
                        
                </span>
            </div>
            <div>
                <a href="javascript:window.history.back();">返回</a>
                <span>· </span>
                <a href="/">主页</a>
            </div>
        </section>
        <section class="post-nav">
            
                <a class="prev" rel="prev" href="/2020/03/09/go-01/">「Go_01」搭建Go语言开发环境</a>
            
            
            <a class="next" rel="next" href="/2018/02/28/python1-03/">「Python_03」初阶 | Ubuntu入门</a>
            
        </section>


    </article>
</div>

        </div>
        <footer id="footer" class="footer">
    <div class="copyright">
        <span>© 豆豆 | Powered by <a href="https://hexo.io" target="_blank">Hexo</a> & <a href="https://github.com/Siricee/hexo-theme-Chic" target="_blank">Chic</a></span>
    </div>
</footer>


    <script src='https://unpkg.com/mermaid@7.1.2/dist/mermaid.min.js'></script>
    <script>
      if (window.mermaid) {
        mermaid.initialize({theme: 'neutral'});
      }
    </script>
  
    </div>
</body>
</html>
